{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% import "_macros.html" as macros %}

{% block title %}语音识别模型基准测试系统{% endblock %}

{% block page_content %}
<div class="page-header">
    <a href="{{ url_for('.fpfe') }}">返回语音的前端处理器和特征提取器总页</a>
    <p>名称: {{ fpfe.name }}</p>
    <p>类型：{% if fpfe.typ==0 %}语音的前端处理器{% elif fpfe.typ==1 %}语音的特征提取器{% elif fpfe.typ==2 %}语音的前端处理器+语音的特征提取器{% endif %}</p>
    <p>模块名：{{ fpfe.modulename }}</p>
    <p>模块的全局函数名：{{ fpfe.classname }}</p>
    <p>全局函数的参数列表：{{ fpfe.parameters }}</p>
    <p>[函数名(参数列表)]：{{ fpfe.attribute }}</p>
    <pre id="code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ fpfe.modulename }}', '{{ fpfe.classname }}')">获取源代码</a>
    <a class="btn btn-default" href="{{ url_for('.fpfe_edit',id=fpfe.id) }}">修改语音的前端处理器和特征提取器信息</a>
    <a class="btn btn-default" href="{{ url_for('.fpfe_json',id=fpfe.id) }}">导出语音的前端处理器和特征提取器的json配置文件</a><br>
    <a class="btn btn-default" href="{{ url_for('.fpfe_active',id=fpfe.id) }}">更新活动时间</a>
    <a class="btn btn-default" href="{{ url_for('.fpfe_copy',id=fpfe.id) }}">以此为模版新建</a><br>
    
    <span id="span-1"></span><br>
    <span id="span-2"></span><br>
    <span id="span-3"></span>
    {% if bttask_names %}
    <p>
        使用本语音的{% if fpfe.typ==0 %}前端处理器{% elif fpfe.typ==1 %}特征提取器{% elif fpfe.typ==2 %}前端处理器+特征提取器{% endif %}的基准测试用例有<br>
        {% for i in range(bttask_names|length) %}
        <a href="{{ url_for('.btt',id=bttask_ids[i]) }}">{{ bttask_names[i] }}</a><br>
        {% endfor %}
    </p>
    {% endif %}
</div>
<script type="text/javascript">
    function update_get_code_status(status_url){
        $.getJSON(status_url,function(data){
            $('#span-1').text($('#span-2').text());
            $('#span-2').text($('#span-3').text());
            if('result' in data){
                console.log(data);
                $('#code-pre').attr('style','display:block;');
                $('#code-pre').text(data['result']);
            }else{
                $('#span-3').text(data['time']+' '+data['state']+' '+data['status']);
            }
            if(data['state']=='PENDING'||data['state']=='PROGRESS'){
                setTimeout(function(){
                    update_get_code_status(status_url);
                },1000);
            }
        });
    }

    function get_code(modulename,classname){
        $.ajax({
            type:'POST',
            url:'/get_code?modulename='+modulename+'&classname='+classname,
            success:function(data,status,request){
                status_url=request.getResponseHeader('Location');
                update_get_code_status(status_url);
            },
            error:function(){
                alert('获取'+modulename+'的'+classname+'类/函数区块代码的过程中出现错误');
            }
        });
    }
</script>
{% endblock %}